import java.awt.Point;
import java.io.Serializable;

public class ConetorEste implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -800557290408051000L;

	/**
	 * 
	 */

	private Point pontoEste;

	private Retangulo retanguloEnvolvente;

	private Identificador identificador;

	private OpcaoConetor opcao;

	public ConetorEste(Identificador identificador,
			Retangulo retanguloEnvolvente) {
		this.identificador = identificador;
		this.retanguloEnvolvente = retanguloEnvolvente;

		construirPonto();
	}

	public Retangulo getRetanguloEnvolvente() {
		return retanguloEnvolvente;
	}

	public void setRetanguloEnvolvente(Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;
		construirPonto();
	}

	public Identificador getIdentificador() {
		return identificador;
	}

	public void setIdentificador(Identificador identificador) {
		this.identificador = identificador;
	}

	public void construirPonto() {
		this.pontoEste = new Point();
		this.pontoEste.setLocation(this.retanguloEnvolvente
				.getPontoSuperiorEsquerdo().getX()
				+ this.retanguloEnvolvente.getTamanho().getAltura() - 10,
				this.retanguloEnvolvente.getPontoSuperiorEsquerdo().getY()
						+ this.retanguloEnvolvente.getTamanho().getLargura()
						/ 2 - 10 / 2);

	}

	public boolean contem(Coordenada coordenada) {
		return (coordenada.getX() >= pontoEste.x
				&& coordenada.getX() <= pontoEste.x + 10
				&& coordenada.getY() >= pontoEste.y && coordenada.getY() <= pontoEste.y + 10);
	}

	public Point pontoConetor(Coordenada coordenada) {

		if (coordenada.getX() >= pontoEste.x
				&& coordenada.getX() <= pontoEste.x + 10
				&& coordenada.getY() >= pontoEste.y && coordenada.getY() <= pontoEste.y + 10) {
			System.out.println("Devolvo Norte");
			return pontoEste;
		}
		return null;
	}

	public Point getPontoEste() {
		return pontoEste;
	}

}